/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package model.creature.monster.plugin;

import java.awt.Image;
import model.creature.monster.DefaultAOEAttackerSprite;
import model.game.GameInterface;
import model.map.cell.Cell;
import model.utility.ImageUtility;

/**
 *
 * @author Reinhard
 */
public class Porcupine extends DefaultAOEAttackerSprite {

    public Porcupine(GameInterface game, Cell cell){
        super(game,cell);
    }

    @Override
    public int getSpeed() {
        return 2;
    }

    @Override
    public int getMaxHP() {
        return 100;
    }

    @Override
    public String getName() {
        return "Porcupine";
    }
    @Override
    public String getDescription() {
      return "Has a ranged attack.";
    }


    @Override
    public Image getImage() {
        return ImageUtility.loadImage("resources/pictures/monster/porcupine/porcupine.png");
    }

    @Override
    public int getPower() {
        return 25;
    }

  // porcupines can attack creatures up to 2 cells away
  @Override
  public int attackDistance() {
    return 2;
  }

  // porcupines can only attack one creature at a time
  @Override
  public int getAttackCount() {
    return 1;
  }
  
  @Override
  public boolean isSteppable() {
    return true;
  }

  @Override
  public boolean canStepOnUnsteppableCells() {
    return false;
  }

}